home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d13 / ritime1a.arc / RIGHTIME.TXT < prev    next >
Text File  |  1991-03-30  |  32KB  |  654 lines

  1. RighTime v1.0a, TestTime v1.0a                     Copyright 1991, GTBecker
  2. March 30, 1991                                          All rights reserved
  3.  
  4.  
  5.                               Shareware Notice
  6.  
  7.       This file (RIGHTIME.TXT) and evaluation program files RIGHTIME.COM
  8. and TESTTIME.COM should be contained in the shareware distribution file.
  9.  
  10.       Neither evaluation program will run if RIGHTIME.TXT is missing
  11.       from the same directory or has been modified in any way.
  12.  
  13. These files are the copyrighted property of G.T. Becker and Air System
  14. Technologies, Inc. of Dallas, Texas, USA.
  15.  
  16.       You may use these evaluation programs for up to one month, and you
  17. may - and are encouraged to - pass the shareware distribution file along to
  18. others, but you may not modify, rename or sell the files or programs to
  19. anyone under any circumstances.  Shareware distributors may charge a
  20. reasonable fee for their services and media.
  21.  
  22.       You are encouraged to register your usage of RighTime.  Registered
  23. RighTime users receive a diskette containing the current version of the
  24. registered programs, a printed user manual and usage license, notification
  25. of new releases, and enthusiastic support from the author when you need it. 
  26. The registered version of RighTime is functionally identical to this
  27. shareware distributed version, but it lacks registration reminders, the
  28. requirement that all files remain resident, and it is serial numbered.
  29.  
  30.       Beyond the immediate tangible benefits, registration also provides
  31. support for the shareware software distribution concept.  Shareware means
  32. quality software that you try before you buy.  More happy shareware users
  33. means more happy shareware authors that produce more shareware distributed
  34. program offerings.  We all benefit, but only if the users do their ultimate
  35. part of registering.  If RighTime is a useful addition to your system,
  36. please register your usage.
  37.  
  38.       To register, fill in the form at the end of this document and send it
  39. and US$25 for a single machine to Air System Technologies, 14232 Marsh
  40. Lane, Suite 339, Dallas, Texas, 75234, USA.  Site licensing is available.
  41.  
  42.  
  43.                               What is RighTime?
  44.  
  45.       RIGHTIME.COM is a TSR for MSDOS v3.0 and later which will correct
  46. PC/AT "CMOS"-type clock error up to about 5.5 minutes per day; if RighTime
  47. is automatically and dependably installed via AUTOEXEC.BAT as suggested
  48. below, the system clock will behave as properly and accurately as one
  49. should hope the system clock of a computer would.  Written in 80286
  50. assembly language, the resident portion occupies only 3K of system memory.
  51.  
  52.  
  53.       First, here is what RighTime cannot do:
  54.  
  55.       -     RighTime cannot correct clock boards or computer motherboard
  56.             clocks that do not emulate the PC/AT hardware clock and its
  57.             BIOS support precisely; AT&T PC 6300, AST Six Pack boards and
  58.             the like are not supported.
  59.  
  60.       -     RighTime cannot properly correct an unstable clock; most clocks
  61.             are slow or fast and they are essentially unvarying.  If your
  62.             clock wanders aimlessly, repair the hardware first.
  63.  
  64.       RighTime exploits the better qualities of each of the two clocks in
  65. your system and improves upon them by doing three fundamental things:
  66.  
  67.       *     RighTime slaves the DOS system clock (which has higher
  68.             resolution) to the hardware clock (which has higher stability),
  69.  
  70.       *     RighTime improves and maintains accuracy by regularly
  71.             calculating and applying corrections to both clocks, and
  72.  
  73.       *     RighTime monitors time set commands (and the equivalent system
  74.             calls from any program) to learn the hardware clock error rate.
  75.  
  76.       RighTime intrinsically sets the hardware clock and solves the
  77. midnight rollover date bug that exists in some DOS versions; this
  78. eliminates the need for other utility programs or drivers that perform
  79. these functions.  The hardware clock seconds transition will also be
  80. properly set by RighTime.
  81.  
  82.       Each time you set the time, RighTime will improve the accuracy of the
  83. corrections and will subsequently improve the accuracy of the clocks.  It
  84. should be easy to achieve a worst-case error of less than 0.5 second per
  85. day and under good conditions, less than 0.5 second per week; typical
  86. results are ten times better.
  87.  
  88.       Large time changes (larger than approximately 5.5 minutes) will not
  89. affect the corrections, permitting standard time to daylight time and the
  90. converse adjustments.
  91.  
  92.       Some rogue programs apparently change the 8254 timer load constant
  93. resulting in a suddenly fast clock which requires a reboot to correct;
  94. reexecuting RighTime will load the right value (which will restore the
  95. proper rate) and indicate the correct time without resetting the time if it
  96. is done reasonably promptly.
  97.  
  98.  
  99.                               Getting Started
  100.  
  101.       To use RighTime, first decide where to store the corrections.  There
  102. are three options: unused CMOS RAM, disk file, or neither.  If you have
  103. only floppies the disk file option is impractical, so try the CMOS RAM
  104. option.  If you have a hard disk, you can probably use either the CMOS RAM
  105. or the disk file option.
  106.  
  107.       The CMOS RAM option involves some initial bravado: not all BIOS ROMs
  108. use CMOS RAM similarly, so before attempting to use the CMOS RAM option, be
  109. forewarned that CMOS RAM contains system setup data that RighTime might
  110. inadvertently disturb; be prepared to reset the setup data if the CMOS RAM
  111. option is unsuccessful on your system.  See the Hardware Compatibility
  112. List, below.  If this dissuades you or if you are otherwise reluctant, use
  113. the disk file option until you gain some confidence.
  114.  
  115.       If you chose the disk file option, RighTime will attempt to write to
  116. its own program file from time to time, so write access must be allowed.
  117.  
  118.       RighTime can also be configured with no correction storage, with
  119. consequential loss of some of its utility (see No Correction Storage
  120. Option, below).
  121.  
  122.       If you know how fast or slow your clock appears to run per day, you
  123. can optionally speed the learning process of RighTime by suggesting a
  124. correction to the program as a signed number in hundredths of a second,
  125. positive for a slow clock, negative for a fast clock.  For example, if your
  126. clock runs about two minutes fast per day, the suggested correction should
  127. be -12000 (120 seconds times 100).  There are actually two corrections that
  128. RighTime normally applies, one while the system is running and warm, and
  129. another when the system is turned off and cool.  If you know the cool
  130. correction, suggest it also.  If you don't know one or you know neither
  131. correction, RighTime will determine them anyway; it'll just take longer for
  132. the corrections to mature to good accuracy.
  133.  
  134.       If you have been using another resident driver or TSR to correct the
  135. weaknesses of your clock, remove all references to it from your CONFIG.SYS
  136. and AUTOEXEC.BAT files and, once you are confident that RighTime is all it
  137. purports to be, remove the other driver or TSR from your system.
  138.  
  139.       To get started, place RIGHTIME.COM in some directory (dev:\path,
  140. which does not need to be included in a PATH statement), and run it from
  141. the DOS prompt:
  142.  
  143.       if you chose the CMOS RAM option,
  144.  
  145.             dev:\path\RighTime /R /Wwarm /Ccool
  146.                   or
  147.             dev:\path\RighTime /R /W /C
  148.  
  149.       if you chose the disk file option,
  150.  
  151.             dev:\path\RighTime /F /Wwarm /Ccool
  152.                   or
  153.             dev:\path\RighTime /F /W /C
  154.  
  155.       Also, in your AUTOEXEC.BAT file (as the first TSR, but after any
  156. PROMPT, PATH or SET statements), add:
  157.  
  158.       if you chose the CMOS RAM option,
  159.  
  160.             dev:\path\RighTime /R
  161.  
  162.       if you chose the disk file option,
  163.  
  164.             dev:\path\RighTime /F
  165.  
  166.       For example, I put RIGHTIME.COM in C:\DOS\TIME, my clock runs about
  167. 1.5 seconds fast per day when warm, and I use the CMOS RAM option.  I
  168. started by running
  169.  
  170.             C:\DOS\TIME\RighTime /R /W-150 /C
  171.  
  172. and I added this line to my AUTOEXEC.BAT file:
  173.  
  174.             C:\DOS\TIME\RighTime /R
  175.  
  176.       Had I chosen the disk file option, I would have run
  177.  
  178.             C:\DOS\TIME\RighTime /F /W-150 /C
  179.  
  180. and I would have added this line to my AUTOEXEC.BAT:
  181.  
  182.             C:\DOS\TIME\RighTime /F
  183.  
  184.       If RighTime encounters difficulty during its installation, it will
  185. report one of several messages and terminate (see Installation Error
  186. Messages, below).  A successful installation will display the corrections,
  187. an "Installed" message and a copyright notice.
  188.  
  189.                               Setting the Time
  190.  
  191.       Now that RighTime is installed and running, set the date and time as
  192. accurately as possible.  If you have access to a time standard, use it. 
  193. For best accuracy, use a NIST telephone service time setting program such
  194. as Professional TimeSet v6.0 by Peter Petrakis.  Alternatively, you can
  195. listen to WWV or CHU or a radio network news broadcast and be prepared to
  196. set your clock when you hear the beep on the minute or hour.  Don't use a
  197. radio station that is airing a call-in talk show; the audio is usually
  198. delayed six to ten seconds on such programs to allow for profanity dumping,
  199. and so the beep will be equally late.  An all-news format station is
  200. probably not delayed.  To be certain, call the radio station and ask for
  201. engineering; they will know.  Local telephone time services are usually
  202. poor; don't trust that they are correct.  What is important is accuracy;
  203. RighTime needs a reference to initially learn from, and unless you care to
  204. (and know how to) automate it, you are it.
  205.  
  206.       From this moment on, RighTime will monitor each time set occurrence,
  207. learning from your adjustments.  Whenever you notice or suspect that the
  208. indicated DOS system time is insufficiently correct to satisfy you, reset
  209. it accurately.  Separate time sets by a minimum of 30 minutes.  You will
  210. find that the clocks will become more and more accurate and the need for
  211. adjustment will decrease, becoming infrequent; you must, however, set the
  212. time accurately at least once per month.
  213.  
  214.       When you turn your computer on, allow it to boot and then, if it is
  215. necessary, set the time accurately within ten minutes of boot.  Time
  216. adjustments that are performed within ten minutes of boot will affect the
  217. cool correction; adjustments performed after that ten minute period will
  218. affect the warm correction.
  219.  
  220.       Each time you reboot, RighTime will display the current corrections. 
  221. After a few days of your occasional diligent time setting, the corrections
  222. should settle to fairly constant numbers, which will be true indications of
  223. the uncorrected performance of your hardware clock.  Once it is installed,
  224. you can also display the current corrections by simply running RighTime
  225. again at a DOS prompt (no parameters are required).  The correction that is
  226. currently being applied to the DOS clock will be displayed and a functional
  227. self test will also be performed, verifying that RighTime is currently
  228. running properly on your system.
  229.  
  230.       As long as RighTime is in use and you've been diligent in your
  231. adjustments, and the corrections have matured, the hardware clock error
  232. will not be more than 0.5 second, and the DOS clock will be much more
  233. accurate than that.  In fact, the DOS clock error can be less than 0.01
  234. second; but since DOS can't express the time any better than the 55
  235. millisecond tick rate permits, this accuracy might not be easily seen. 
  236. Nevertheless, it is there.  A tool is provided with RighTime that allows
  237. verification and visualization of RighTime's actions; see TestTime, below.
  238.  
  239.       RighTime has limits of one week of inactivity, and one month between
  240. time sets, that can be corrected to a maximum of 5 minutes, 27.67 seconds
  241. per occasion; beyond that, all bets are off.  In that case, unpredictable,
  242. and probably incorrect, clock changes can occur, but if it can, RighTime
  243. will advise you of its difficulty.  For example, if your clock runs two
  244. minutes slow per day and you don't use the system for three full days, when
  245. you boot up you will receive a message warning that the clock needs to be
  246. adjusted manually.  The subsequent adjustment will not affect the
  247. corrections.  Similarly, if you only set the time twice each year, RighTime
  248. is not for you and will not cope well.
  249.  
  250.  
  251.                         No Correction Storage Option
  252.  
  253.       If you have difficulty with both the CMOS RAM and disk file options
  254. or you need or wish to use neither option, RighTime can still correct the
  255. clocks for as long as the system runs continuously.  What RighTime has
  256. learned will be lost when you reboot or power down, and there can be no
  257. cool correction.  Otherwise, all of the comments above apply.  If you
  258. suggest a good warm correction and you set the clock after you boot,
  259. RighTime will serve well.
  260.  
  261.       To run RighTime in this mode, add (as the first TSR, but after any
  262. PROMPT, PATH or SET statements) the following line in the AUTOEXEC.BAT
  263. file:
  264.  
  265.             dev:\path\RighTime /N /Wwarm
  266.                   or
  267.             dev:\path\RighTime /N /W
  268.  
  269.       You might want to follow this with a TIME command (perhaps preceded
  270. by a DATE command) to remind you to set the clock at each boot.
  271.  
  272.  
  273.                          Installation Error Messages
  274.  
  275.       RighTime might report one of the following messages at installation
  276. execution time:
  277.  
  278.       "DOS version 3.0 or later is required"
  279.             The PC/AT "CMOS" hardware clock is not supported by earlier DOS
  280.             versions.
  281.  
  282.       "System is not 80286 code compatible"
  283.             RighTime expects that the system processor is at least an
  284.             80286.  The 80C286, 80386(DX), 80386SX, and the 80486 are also
  285.             code compatible with the 80286.  Systems that use the 8088,
  286.             8086, 80188, and the NEC V-series processors will not run
  287.             RighTime.
  288.  
  289.       "No AT hardware clock is present or clock is not running"
  290.             Either a hardware clock or BIOS failure prevents use of the
  291.             clock, or the clock chip is not installed in the system.
  292.  
  293.       "Hardware clock alarm is not functioning"
  294.             RighTime has failed a self test.  Try again in a minute or so. 
  295.             If this message persists, please notify the author.
  296.  
  297.       "Alarm is not supported by BIOS"
  298.             The BIOS has reported an unsuccessful attempt to set the clock
  299.             alarm feature.  The BIOS is not compatible with RighTime.
  300.  
  301.       "Already installed"
  302.             RighTime is currently resident and running in the system.
  303.  
  304.       "Correction storage switch is required"
  305.             Either the disk file (/F), CMOS RAM (/R) or no storage (/N)
  306.             option must be specified in the command line.
  307.  
  308.       "Invalid switch"
  309.             An unrecognized option switch is present in the command line.
  310.  
  311.       "Invalid parameter"
  312.             A value associated with an option is inappropriate.
  313.  
  314.       "Directory must hold original RIGHTIME.TXT during evaluation"
  315.             The unregistered shareware distributed versions of RighTime and
  316.             TestTime require that their directory contains the original
  317.             unmodified documentation file, RIGHTIME.TXT.
  318.  
  319.       "Program has been altered"
  320.             RIGHTIME.COM has been modified in some way.  Immediately delete
  321.             it from your disk and replace it with the distributed program.
  322.  
  323.  
  324.                        PC/AT and MSDOS Clock Esoteria
  325.  
  326.                                     18.2
  327.  
  328.       DOS historians say that the designers of the PC tried to do the DOS
  329. system programmers a favor by dividing an hour into 65536 parts, or about
  330. 18.20444444 ticks per second, making the most significant 16 bits of the 32
  331. bit tick count directly indicate the hour and theoretically simplifying the
  332. system code.  Somehow the hardware didn't turn out that way, resulting in
  333. about 176 extra ticks per day.  The 8254 timer/counter clock input of
  334. 1193180 Hz and its counter 0 load constant of 0 (effectively 65536),
  335. yielded a hardware tick rate of approximately 18.20648193 ticks per second,
  336. and that remains so today.  That looks like a small difference, but it
  337. amounted to an almost ten second gain per day.
  338.  
  339.  
  340.       DOS designers corrected for the hardware error by redefining the
  341. number of ticks per day to include the extra ticks and a standard was set:
  342. the exact ticker rate was defined by the quotient of the number of ticks
  343. per day and the number of seconds per day (1573040/86400), which is
  344. approximately 18.20648148 ticks per second.  When they did that, they made
  345. it possible to convert from ticks to time and from time to ticks in two
  346. ways, each way exact, but one according to the PC hardware implementation
  347. and one according to the day-length standard definition.
  348.  
  349.       Using only 16 bit integer arithmetic, the conversion that matches the
  350. PC hardware requires multiplying the current time in hundredthseconds by
  351. 59659 (which is 1193180/20), dividing that product by 65536 (discard the
  352. least significant 16 bits), then dividing that quotient by 5 to yield the
  353. tick count.  The resulting rate is approximately 0.1820648193 ticks per
  354. hundredthsecond, which is the same as the hardware rate.  The conversion
  355. for the day-length standard can be accomplished by multiplying the current
  356. time in hundredthseconds by 19663 (since 1573040/86400 = 19663/1080),
  357. dividing that product by 10800, then dividing that quotient by 10 to yield
  358. the tick count.  The resulting rate is approximately 0.1820648148 ticks per
  359. hundredthsecond, the correct day-length standard rate.
  360.  
  361.       Ironically, MSDOS authors ignored their own day-length standard and
  362. chose to match the hardware to determine the time.  The resulting error
  363. (compared to the day-length standard) is very small, only 0.039 tick per
  364. day, but for some requirements that can be significant.  For example, if
  365. the resulting time is rounded or truncated to whole seconds, the two
  366. methods will yield different results for some values.  For most
  367. applications though, the choice won't matter.
  368.  
  369.       Often, the number 18.2 or the period 55 milliseconds is used to
  370. describe the system clock (interrupts 8 and 1Ch) tick rate.  In every case,
  371. that is not the correct number, but an approximation.  Almost all PC
  372. "compatible" machines use this 18.2 standard tick rate, but there are
  373. exceptions; the AT&T 6300, for example, uses 18.75.
  374.  
  375.                      Stability, Accuracy and Resolution
  376.  
  377.       Often confused, these three qualities are different and are only
  378. obliquely related, although each is required to exist in any good clock. 
  379. They can be prioritized with little difficulty.  Stability is foremost. 
  380. Even if lacking in other qualities, a stable clock is useful if you know
  381. what to expect of it; an unstable clock generates worthless noise. 
  382. Accuracy can only be meaningful if the clock is stable.  Resolution is
  383. required only to meet the requirements of the clock's task; to catch a
  384. train on time, for example, you don't need hundredths of a second
  385. resolution, just an accurate, stable clock that will tell the time to
  386. minutes, or maybe only hours.
  387.  
  388.              Translation Gain, Resolution and Truncation Losses
  389.  
  390.       Suppose that some accurate clock resolves only to minutes, and you
  391. read the clock often at random, or asynchronous, times.  Your time reading
  392. will be correct if it is made at the instant the minutes have incremented
  393. from one number to the next, but your reading will appear to be just under
  394. one minute low if made at the instant before the next minute increment.  If
  395. you do this enough, the average or mean error of your readings will prove
  396. to be one half minute low.  This is the mean resolution loss; an artifact
  397. of any finite resolution, resolution loss is present when asynchronously
  398. reading any accurate digital clock.
  399.  
  400.       Some applications require resolution loss compensation, which can be
  401. as simple as increasing the time by one-half of the unit of resolution of
  402. the clock; postcompensation can be applied when the time is read, or
  403. precompensation can be applied when it is set.  In the example, the range
  404. of the compensated error would extend from 30 seconds low to 30 seconds
  405. high; the mean resolution loss would be zero.  More sophisticated
  406. compensation schemes can synthetically increase the effective resolution of
  407. the clock, but resolution loss, though smaller, remains unavoidable.
  408.  
  409.       A similar effect, translation gain, occurs when asynchronously
  410. setting a digital clock; the instant of time set can occur anytime between
  411. one regular increment and the next.  If set at the instant after an
  412. increment, no error results; if set immediately prior to an increment,
  413. however, the clock will be effectively set one unit too high.  On the
  414. average, asynchronous clock sets will produce a clock time that is one-half
  415. unit of resolution high; negative precompensation of one-half unit of
  416. resolution will compensate for translation gain.
  417.  
  418.       Truncation loss is an effect that results from the disregard of
  419. digits of low significance.  When converting from one time base to another,
  420. the result is often not an integral number in the new time base.  If the
  421. fractional part is ignored, loss results.  Arithmetic rounding to the
  422. nearest unit of resolution is effective compensation, and is easy to
  423. implement by adding one-half unit of resolution; the fractional part of the
  424. sum is then discarded by the time set function.
  425.  
  426.       In the PC/AT, all of these compensations are useful, and when
  427. combined, they are easy to implement.  Translation and truncation errors
  428. are intrinsic to the function of RighTime and are compensated, and since
  429. few application programs - nor DOS itself - consider resolution loss, it is
  430. precompensated.
  431.  
  432.  
  433.                                   TestTime
  434.  
  435.       Included with RighTime is a program tool that can provide some
  436. interesting insight into the relationship of the clocks in your system and
  437. the function of RighTime.  TestTime takes no command line parameters.  It
  438. will determine and express whether or not RighTime is running in the
  439. system, and it provides a continuous single line display of the clock
  440. system status.
  441.  
  442.       The status line is terse:
  443.  
  444.             H[date:hh:mm:ss(:aa)] D[date:hh:mm:ss] corr diff distrib
  445.  
  446.       where
  447.             H is the hardware clock data.  (:aa) is the alarm seconds data. 
  448.                   While RighTime is running, the alarm seconds will
  449.                   increment in four second steps;
  450.             D is the DOS system clock data;
  451.             corr is the current correction that is applied to the DOS
  452.                   system clock in hundredthseconds, if RighTime is
  453.                   resident;
  454.             diff is the signed time difference between the hardware and DOS
  455.                   clocks in seconds.  A positive difference indicates that
  456.                   the DOS clock leads the hardware clock (it displays a
  457.                   higher, or later, time).  Since DOS can only express time
  458.                   to 55 millisecond resolution in hundredthseconds, the
  459.                   difference is determined by a 100-sample averaging method
  460.                   whose accuracy improves with time.  The last character of
  461.                   diff will initially be an approxima (a wavy equal sign)
  462.                   to indicate that full accuracy has not been achieved; it
  463.                   will change to an equal sign or a one-half sign when the
  464.                   difference is accurate.  A one-half sign indicates that
  465.                   the difference value is between hundredths (an average of
  466.                   5 milliseconds of resolution);
  467.  
  468.             distrib contains three numbers corresponding to the percentage
  469.                   of difference samples that are negative, zero, and
  470.                   positive.  When the average difference is zero, the
  471.                   distribution of differences should ideally be balanced
  472.                   around zero.  As the DOS clock drifts away from the
  473.                   hardware clock, the balance will shift until all samples
  474.                   are positive or negative.
  475.  
  476.             An arrow to the left of each seconds data indicates which data 
  477.                   last changed.
  478.  
  479.       You can use TestTime to learn much about the behavior of the two
  480. clocks in your system.  Try running it without RighTime installed and
  481. notice that the DOS clock is never the same as the hardware clock.  Set the
  482. time and run TestTime again; if your DOS sets the hardware clock, check to
  483. see if the seconds are synchronized.  They probably are not.  Run TestTime
  484. some time later and see if the relationship between the clocks has changed;
  485. there's a good chance that it will have.  Which, if either, is correct?
  486.  
  487.       Try these things with RighTime installed and see the difference for
  488. yourself.   
  489.  
  490.  
  491.                          Briefly, How RighTime Works
  492.  
  493.       Every four seconds, RighTime reads the hardware clock time and
  494. calculates and sets the proper system time tick count.  As usual, DOS
  495. continues to increment that count at each 55 millisecond timer tick
  496. interrupt and uses the count to determine the time whenever it is
  497. requested.
  498.  
  499.       When the user or an application program resets the time, RighTime
  500. determines the sign and magnitude of the adjustment and uses this data to
  501. modify correction factors that it maintains.  RighTime normally stores
  502. these corrections in CMOS RAM or in its own program file on disk.
  503.  
  504.       Every two minutes, RighTime stores the current time so the period of
  505. inactivity can be determined when the system is next booted.  The proper
  506. (cool) adjustment can then be calculated and the hardware clock can be
  507. adjusted if it is required.  If the cool adjustment spans midnight, the
  508. date will be appropriately adjusted.
  509.  
  510.       RighTime provides a plus or minus 500 millisecond correction range. 
  511. When the calculated system clock time and the hardware clock time differ by
  512. 500 milliseconds, RighTime advances or retards the hardware clock as needed
  513. to keep the correction within range.  This adjustment is automatic and will
  514. not affect the DOS clock which remains correct at all times.
  515.  
  516.       RighTime takes interrupt 4Ah and hooks interrupts 8h, 1Ah, 21h, 28h
  517. and 2Fh, and it is TesSeRact compatible.  Use of the features of the
  518. hardware clock is central to the function of RighTime, so the hardware
  519. clock is strongly guarded.  While RighTime is installed, any attempt (via
  520. interrupt 1Ah) to set the hardware clock time, date or alarm time, or to
  521. disable the alarm, will be ignored and will produce an error indication to
  522. the offending program.  If interrupt 4Ah is taken by another program, it
  523. will be recovered by RighTime.  The program is resistant to modifications.
  524.  
  525.  
  526.                              Command Line Syntax
  527.  
  528.       RighTime [{/F|/R[addr]|/N}] [/W[[{+|-}]warm]] [/C[[{+|-}]cool]]
  529.                   [/Dmm] [/Umm]
  530.  
  531.       where
  532.  
  533.       /F causes RighTime to store corrections in its own program file;
  534.  
  535.       /R causes RighTime to store corrections in 13 CMOS RAM
  536.             locations ending in addr (default 63, see /Raddr, below);
  537.  
  538.       /N disables correction storage;
  539.  
  540.       /W sets starting warm correction rate in hundredthseconds per day 
  541.             (default 0, maximum +32767 or -32768);
  542.  
  543.       /C sets starting cool correction rate, as above;
  544.  
  545.       /D changes the cool adjust period allowance (after boot) from the 10
  546.             minute default.  The valid range is 1 to 60.  Consider this
  547.             option if your system exhibits a large difference in warm and
  548.             cool corrections and cabinet temperature is suspect.  You
  549.             should also consider that the clock rate might be affected by
  550.             the lower supply voltage when the system is off;
  551.  
  552.       /U changes the CMOS RAM or file update period from the two minute 
  553.             default.  The valid range is 2 to 60, and the value should be
  554.             even.  If you think the default is unnecessarily frequent, try
  555.             this option.  Remember that this is part of the cool correction
  556.             process, and less frequency might affect correction accuracy in
  557.             severe situations;
  558.  
  559.       /Raddr will place the corrections in CMOS RAM at a location other 
  560.             than the default of 63; this location is that of the last of 13
  561.             bytes that are stored.  This option is potentially harmful,
  562.             since a careless value might allow RighTime to overwrite setup
  563.             data; inadvertently changing a hard disk type, for example, can
  564.             lead to a sad consequence.  Be careful.
  565.  
  566.  
  567.                            Hardware Compatibility
  568.  
  569.       RighTime requires a hardware real time clock that is compatible with
  570. the stock PC/AT part, an MC146818.  The Dallas Semiconductor DS1287 is one
  571. such part.  Some modern PC/AT implementations provide an embedded hardware
  572. clock, not a separate part, that is fully compatible.
  573.  
  574.       The hardware clock and CMOS RAM usability depends upon the hardware 
  575.       and the BIOS:
  576.  
  577.             The Tandy 1000TL hardware is not compatible.
  578.  
  579.             An Award 286 BIOS in an unlabeled AT clone did not support the
  580.             alarm feature of the hardware clock and is not compatible with
  581.             RighTime.
  582.  
  583.             Toshiba laptops will not allow the use of CMOS RAM but no ill
  584.             effects result from trying aside from a checksum error at the
  585.             next boot which requires only a key press to correct.  Use the
  586.             disk file (/F) option.
  587.  
  588.             To date, all other AMI, DTK, Oak and Phoenix BIOS ROMs have
  589.             worked well.
  590.  
  591.  
  592.                              If You Have Trouble
  593.  
  594.       Please note the symptoms and circumstances as thoroughly as is
  595. reasonably possible and contact
  596.  
  597.       Tom Becker
  598.       Air System Technologies, Inc.
  599.       14232 Marsh Lane, Suite 339
  600.       Dallas, Texas  75234  USA
  601.  
  602.       Telephone: 214/402-9660
  603.       CompuServe:  76436,3210
  604.  
  605.                       RighTime Usage Registration Form
  606.  
  607.       Fill out this form, enclose the required funds and mail to:
  608.  
  609.       Air System Technologies, Inc.
  610.       14232 Marsh Lane, Suite 339
  611.       Dallas, Texas  75234  USA
  612.  
  613.  
  614.       I would like to register the usage of RighTime.
  615.  
  616.  
  617.       Name:________________________________________________________________
  618.  
  619.       Business name:_______________________________________________________
  620.  
  621.       Address:_____________________________________________________________
  622.  
  623.               _____________________________________________________________
  624.  
  625.       City:______________________________ State:_________ Zip:_____________
  626.  
  627.       Telephone:_________________________
  628.  
  629.  
  630.       Where did you get RighTime?__________________________________________
  631.  
  632.  
  633.       Registered RighTime programs are serial numbered.  Registration is 
  634.       required for each copy of RighTime that is simultaneously machine
  635.       resident.  If you have, for example, three machines on which you want
  636.       to run RighTime, please register for three machines.
  637.  
  638.       Single machine registration fee is $25.
  639.       Each additional machine registration fee is $15.
  640.  
  641.  
  642.       How many copies of the RighTime package do you want?_________________
  643.  
  644.       On what media?  5.25"/360K______  3.25"/720K______
  645.  
  646.  
  647.       Total enclosed:  US$____________
  648.       Make your check or money order payable to Air System Technologies.
  649.  
  650.       Does your business require an invoice?____________
  651.  
  652.  
  653.                                  Thank You!
  654.